iT邦幫忙

2023 iThome 鐵人賽

0
AI & Data

以 OpenAI 以及 LangChain 實做我的聊天機器人系列 第 41

[D30+11] 如何 5 分鐘內,幫你的 GPTs 加上資料庫

  • 分享至 

  • xImage
  •  

此為《ChatGPT GPTs 開發入門》系列的第三篇。

我們接下來的內容會在這裏優先發佈: ChatGPT 落地研究 | Ted,歡迎訂閱。

前言

終於來到了我們 【ChatGPT GPTs 開發入門】系列的尾聲,今天我們將介紹如何為您的 GPTs 架設一個資料庫。類似於我們之前分享的 OAuth 導入,這次我們選擇了一個容易上手的線上資料庫服務 - Astra Db。

在選擇要介紹的方案時,我們進行了廣泛的調查研究並慎重考慮。從一開始的 Vercel Postgres,到考慮是否選用像 Zapier Table、AirTable 這類專門提供 Serverless 整合的方案。

最終,我們決定從最適合初學者的 NoSql 雲端資料庫開始,讓大家輕鬆開啟資料存儲服務的旅程。我們相信,一旦大家完成第一個完整的 GPTs Action 服務,既能認證使用者又能儲存資料,便會激發出更多學習的興趣。屆時,將有更多機會深入了解其他高效進行線上操作(新增/查詢/更新/刪除)的傳統關聯式資料庫。

MongoDb 與 AstraDb 的比較

當我開始選擇 NoSql 資料庫時,MongoDb 是我的首選,主要是因為它在台灣已有多年的普及。但鑑於我曾經不適當地使用 NoSql 來代替更適合的傳統關聯式資料庫,這段經驗讓我很謹慎考慮是否應該將 NoSql 資料庫作為初學者的入門選擇。在這個探索過程中,我偶然發現了 Apache 提供的另一種 NoSql 解決方案 — Cassandra,從而引領我認識到了 Astra Db。

在 MongoDb 和 AstraDb 之間的抉擇過程中,我經歷了一番思考和掙扎。作為一名對 MongoDb 比較熟悉的使用者,我也探索了許多選擇 AstraDb(即 Cassandra 解決方案)的理由。以下是我認為選擇 Astra Db 的幾個關鍵因素:

  • 導入的速度與操作便利性
    這點尤其重要,我希望幫助非專業 IT 人員能夠迅速地導入自己的雲端資料庫系統。最初我嘗試使用 Mongo Cloud,但它的複雜設計讓人望而卻步。相比之下,我在 Astra Db 上進行的首次資料庫設置過程,簡直讓 Mongo Db 相形見絀。
  • 向量資料庫的支援
    這一點對我來說也是一個亮點,特別是考慮到我們未來打算開發的 ChatGPT 相關應用,會大量涉及向量資料庫。
  • 資料讀寫效率、可用性以及查詢的便利性
    這些都是我在技術選型時重視的因素。從以下的技術比較文章來看,Cassandra 似乎是 Rational Db 和 NoSql Db 的完美結合,具備了傳統 Rational 資料庫和 NoSql 資料庫的優點,這是一個值得深入研究的領域。

了解 Cassandra 與 MongoDB 之間的差異 – AWS (amazon.com)

基於以上理由,我最終決定引導大家使用 AstraDb 來實現自己的 GPTs 應用。

設定流程

現在讓我們進入本文的核心部分,即整個設定流程。整體來說,流程會包括以下幾個步驟:

  1. 設定 Astra Db
  2. 部署 Vercel 專案
  3. 調整 Vercel 主機的基本設定
  4. 安裝並設定 PluginLab 插件以及 ChatGPT GTPs Action 等

後半部分,即 PluginLab 和 ChatGPT GPTs Action 的設定,因為在我們的上一篇文章中已有詳細介紹,本篇文章將主要集中於前面提到的資料庫設定以及 Vercel 專案的部署部分。對於後半部分的詳細內容,請參考我們之前的文章(相關連結將在後面提供)。

詳細步驟

設定 Astra Db

首先,前往 Astra Db 的網站:DataStax 官網。完成帳號註冊和登入後,您將進入 Astra Db 的控制面板,如下所示:
https://ithelp.ithome.com.tw/upload/images/20231216/201544158x73RKMdch.png
由於我們需要的支援向量資料庫版本目前處於預覽階段,請在控制面板上點擊【Enable Preview】按鈕。

點擊後,您將看到預覽版資料庫的一些特色功能介紹,比如改進的資料監視器(Data Explorer)和更友好的程式連接方法等。請繼續點擊【Enable Preview】進入下一頁。
https://ithelp.ithome.com.tw/upload/images/20231216/20154415htUizH3A9C.png

接下來的頁面將展示一些開始之前的重要說明,例如:這個新資料庫是專為生成式 AI 應用設計的,如果不習慣也可以隨時退出預覽等。請點擊【Continue】按鈕以繼續。
https://ithelp.ithome.com.tw/upload/images/20231216/20154415pAFPpdyauV.png

進入預覽版控制面板後,您將看到中間有一個【Create Database】的選項。點擊它以進行下一步。
https://ithelp.ithome.com.tw/upload/images/20231216/20154415zffKqfJEvT.png

在建立資料庫時,選擇左側的【Serverless(Vector)】作為資料庫類型。
https://ithelp.ithome.com.tw/upload/images/20231216/20154415zPutHo98sI.png
接著是詳細設定部分:

  • Database name:
    在此處輸入您想要的資料庫名稱,例如我這裡輸入的是 "todo-db"。
  • Provider:
    選擇雲端服務的提供商,目前免費選項僅有 Amazon Web Services。
  • Region:
    選擇雲端服務商的機房位置,免費方案目前僅支援 "us-east-2"。

填寫並選擇完畢後,點擊【Create Database】繼續。

建立資料庫後,您將看到一個顯示 "Pending" 和 "Initializing" 等狀態的頁面,這表示資料庫正在建立中。通常只需等待一到兩分鐘即可完成。
https://ithelp.ithome.com.tw/upload/images/20231216/20154415YBtCyEoGqW.png

建置完成後,您將看到狀態變為 "Active"。這時,請關注右側的【API Endpoint】欄位,點擊旁邊的複製按鈕,將其儲存下來,稍後設定主機時會用到。然後點擊【Generate Token】以建立我們服務稍後將使用的 Application Token。
https://ithelp.ithome.com.tw/upload/images/20231216/20154415b75XWGzSKR.png

點擊 Create Token 後,您將看到一個新頁面。同樣,請使用複製按鈕將其記下,因為在設定主機環境時也將需要此信息。
https://ithelp.ithome.com.tw/upload/images/20231216/20154415M6rt5xnm2R.png

部署 Vercel 專案

在完成上述資料庫的建立及關鍵設定之後,請前往我們的 GitHub 教程程式碼首頁,網址為:TaskHelperAPI_Auth_Db_Template。進入網頁後,請滾動到頁面底部並點擊【Deploy】按鈕。
https://ithelp.ithome.com.tw/upload/images/20231216/20154415VKejqDuqIH.png

點擊 Deploy 之後,您將會被引導到部署設定頁面。在這裡,請在 Repository Name 欄位填寫您的程式庫名稱,然後點擊【Create】按鈕。
https://ithelp.ithome.com.tw/upload/images/20231216/20154415b1dEaSkNm9.png

點擊【Create】之後,由於我們的專案需要設定一些環境變量的預設值,您將在相同頁面的下方看到幾個需要填寫的欄位。
https://ithelp.ithome.com.tw/upload/images/20231216/201544151ZycluRXYX.png
具體需要填寫的內容如下:

  • ASTRA_DB_APPLICATION_TOKEN:
    這是您在建立資料庫時創建的【Application Token】。
  • ASTRA_DB_API_ENDPOINT:
    這是您在建立資料庫時複製下來的【Application Endpoint】。
  • ASTRA_DB_COLLECTION_NAME:
    這是稍後我們待辦事項將存放的 Collection 名稱,概念上,你可以將它視為 Excel 中的一個工作表(sheet)。
    (如果需要分隔號,請使用底線,例如 todo_item,否則會有問題。)

填寫完畢後,點擊【Deploy】按鈕進行部署。

部署完成後,系統會導向到一個新頁面如下,請點擊【Continue to Dashboard】。
https://ithelp.ithome.com.tw/upload/images/20231216/201544154jGRbetPrJ.png

在您新建立的 Vercel 專案首頁中,您將看到 Vercel 分配給您的域名(domains),請將其記下。
https://ithelp.ithome.com.tw/upload/images/20231216/20154415bEHXHA43Y0.png
剩下的步驟,包括修改 Vercel 主機的基本設定、設定 PluginLab 插件以及 ChatGPT GPTs Action 等,與我們在上一篇文章《如何在 5 分鐘內為您的 GPTs 加上 OAuth 認證》中的後半部分完全相同。您可以參考該文章,從「修改程式碼以符合個人的 Vercel 主機設定」這一段開始,繼續進行操作。

文章的網址在這裏: 如何 5 分鐘內,幫你的 GPTs 加上 OAuth 認證 - by Ted Chen (substack.com)

資料庫寫入狀況的驗證

在您依照上一篇文章的指南完成了所有 PluginLab、ChatGPT GPTs Action,以及 ChatGPT GPTs 的設定後,您可以立即進行簡單的試用,如下圖與 ChatGPT GPTs 的對話:
https://ithelp.ithome.com.tw/upload/images/20231216/20154415RJu9Dq9uMn.png

一旦 GPTs 通知您待辦事項新增完成,您可以重新開啟 Astra Db 的控制面板。在這裡,點擊您的 GPTs 使用的資料庫,例如我的是「todo-db」,然後點選【Data Explorer】並選擇您所儲存的 Collection 名稱(例如「todo_item」)。這樣您就能在下方的「Collection Data」區域看到已儲存的資料。
https://ithelp.ithome.com.tw/upload/images/20231216/20154415qNsD4cFZvr.png

如果您發現在表格式(Table)的界面中無法清楚看到資料,您也可以點擊【JSON】按鈕,然後選擇您想查看的項目。這樣您就能一目了然地看到完整的儲存資料欄位及其內容了
https://ithelp.ithome.com.tw/upload/images/20231216/20154415KnMzBaTsyc.png

結語

經過連續三週深入淺出地介紹 ChatGPT GPTs 的實作教程,不知道您是否能跟上節奏?我希望這些詳盡的說明能助您一臂之力,打造出您心中理想的 GPTs 第一個基礎架構。如果您錯過了前幾篇文章,別擔心,我在這裡列出了整個教程的所有部分:

加油!


如果您喜歡我們這樣的內容,很歡迎到這裏訂閱我們的電子報,我們接下來的內容會在這裏優先發佈: ChatGPT 落地研究 | Ted


上一篇
[D30+10] 如何 5 分鐘內,幫你的 GPTs 加上 OAuth 認證
系列文
以 OpenAI 以及 LangChain 實做我的聊天機器人41
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言